const { goBack, getBarAndTitleHeight } = require("../../utils/utils")

// components/title/index.js
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    // 信号栏风格 white 白色 black 黑色
    mode: {
      type: String,
      value: 'black'
    },
    // 信号栏背景
    background: {
      type: String,
      value: 'transparent'
    },
    // 信号栏占位空间
    space: {
      type: Boolean,
      value: true
    },
    // 是否隐藏返回按钮
    backHide: {
      type: Boolean,
      value: false
    },
    // 是否自定义返回按钮事件
    backCustom: {
      type: Boolean,
      value: false
    },
    // 信号栏追加高度 px
    appendHeight: {
      type: Number,
      value: 0
    },
    // 是否使用cover组件
    cover: {
      type: Boolean,
      value: false
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    // 返回按钮
    modeMap: {
      white: 'https://image-classify.daieco.com/kejian-quanzi/IGjkZO0RmqAp8dfdd2a0641622025cf73ead4bf7325b.png',
      black: 'https://image-classify.daieco.com/kejian-quanzi/Sf2nvNyEc2wj5482cc4defe32bba7112024be0240b1b.png'
    },
    // 信号栏高度
    ...getBarAndTitleHeight(),
  },
  /**
   * 组件的方法列表
   */
  methods: {
    // 返回按钮事件
    navigateBack() {
      if (this.backing) return
      this.backing = true
      // 触发自定义返回按钮事件
      if (this.data.backCustom) {
        this.triggerEvent('back')
      } else {
        goBack()
      }
      this.backing = false
    }
  }
})
